Course Project for Advanced Manufacturing

Authors: Yifu Li and Xiaoyu Chen

Tested on Julia 0.7.0


This project is to reproduce "Algorithms for Fitting the Constrained Lasso" (Gaines et al., 2018).

Loading dataset and algorithms

In [56]:
Pkg.clone("git://github.com/advancedML/ConstrainedLasso.jl.git")
WARNING: Base.Pkg is deprecated, run `using Pkg` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: Pkg.clone is only kept for legacy CI script reasons, please use `add`
└ @ Pkg.API /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Pkg/src/API.jl:445
   Cloning git-repo `git://github.com/advancedML/ConstrainedLasso.jl.git`
  Updating git-repo `git://github.com/advancedML/ConstrainedLasso.jl.git`                       ]  30.3 % [==================>                      ]  44.4 %]  58.5 %Fetching: [=========================>               ]  61.3 %         ]  75.3 % [====================================>    ]  89.5 %
 Resolving package versions...
┌ Info: Assigning UUID 7e327ae7-2474-5f1d-becc-899fe7a0c896 to ConstrainedLasso
└ @ Pkg.Types /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Pkg/src/Types.jl:724
┌ Info: Path `/Users/chenxiaoyu/.julia/dev/ConstrainedLasso` exists and looks like the correct package, using existing path instead of cloning
└ @ Pkg.Types /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Pkg/src/Types.jl:573
  Updating `~/.julia/environments/v0.7/Project.toml`
 [no changes]
  Updating `~/.julia/environments/v0.7/Manifest.toml`
 [no changes]

Constrained Lasso for Tumor Case Study

In [1]:
using ConstrainedLasso
y = readdlm(joinpath(Pkg.dir("ConstrainedLasso"), "docs/src/demo/misc/tumor.txt"))
n = p = size(y, 1)
X = eye(n)
D = [eye(p-1) zeros(p-1, 1)] - [zeros(p-1, 1) eye(p-1)]
β̂path, ρpath = genlasso(X, y; D = D)
using Plots; pyplot(); 
ρnewpath = ρpath[1:end-1] # exclude ρ=0
βnewpath = β̂path[:, 1:end-1]
plot(log.(ρnewpath), βnewpath', label="", xaxis = ("log(ρ)"), yaxis = ("β̂(ρ)"), width=0.5)
title!("Brain Tumor Data: Solution Path via Constrained Lasso")
┌ Info: Recompiling stale cache file /Users/chenxiaoyu/.julia/compiled/v0.7/ConstrainedLasso/fPrzi.ji for ConstrainedLasso [7e327ae7-2474-5f1d-becc-899fe7a0c896]
└ @ Base loading.jl:1185
┌ Warning: Deprecated syntax `multiple line breaks between doc string and object` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg.jl:45.
│ Use `at most one line break` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/constrsparsereg.jl:45
┌ Warning: Deprecated syntax `(i > 1)?` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg.jl:83.
│ Use `(i > 1) ?` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/constrsparsereg.jl:83
┌ Warning: Deprecated syntax `multiple line breaks between doc string and object` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:38.
│ Use `at most one line break` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/classopath.jl:38
┌ Warning: Use of final value of loop variable `k` around /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:641 is deprecated. In the future the variable will be local to the loop instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/classopath.jl:641
┌ Warning: Deprecated syntax `multiple line breaks between doc string and object` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:41.
│ Use `at most one line break` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:41
┌ Warning: Deprecated syntax `multiple line breaks between doc string and object` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:161.
│ Use `at most one line break` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:161
┌ Warning: Deprecated syntax `multiple line breaks between doc string and object` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:36.
│ Use `at most one line break` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/genlasso.jl:36
┌ Warning: Deprecated syntax `1./` at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:56.
│ Use `1 ./` instead.
└ @ ~/.julia/dev/ConstrainedLasso/src/genlasso.jl:56
WARNING: Base.Pkg is deprecated, run `using Pkg` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `Pkg.dir(pkgname, paths...)` is deprecated; instead, do `import ConstrainedLasso; joinpath(dirname(pathof(ConstrainedLasso)), "..", paths...)`.
└ @ Pkg.API /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Pkg/src/API.jl:454
WARNING: Base.readdlm is deprecated: it has been moved to the standard library package `DelimitedFiles`.
Add `using DelimitedFiles` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[1]:4
└ @ Core In[1]:4
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[1]:5
└ @ Core In[1]:5
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[1]:5
└ @ Core In[1]:5
WARNING: importing deprecated binding Base.svdfact! into ConstrainedLasso.
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: importing deprecated binding Base.eye into ConstrainedLasso.
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: importing deprecated binding Base.qrfact into ConstrainedLasso.
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: importing deprecated binding Base.rank into ConstrainedLasso.
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: importing deprecated binding Base.pinv into ConstrainedLasso.
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.LinAlg is deprecated, run `using LinearAlgebra` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.LinAlg is deprecated, run `using LinearAlgebra` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #genlasso#14 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl
WARNING: Base.svdfact! is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #genlasso#14 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl
WARNING: Base.LinAlg is deprecated, run `using LinearAlgebra` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #genlasso#14 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl
┌ Warning: `svdfact!(A::StridedMatrix{T}; full::Bool=false, thin::Union{Bool, Nothing}=nothing) where T <: BlasFloat` is deprecated, use `svd!(A; full=full, thin=thin)` instead.
│   caller = ip:0x0
└ @ Core :-1
┌ Warning: the `thin` keyword argument in `svd!(A; thin = false)` has been deprecated in favor of `full`, which has the opposite meaning, e.g. `svd!(A; full = true)`.
│   caller = ip:0x0
└ @ Core :-1
┌ Warning: `F[:S]` is deprecated, use `F.S` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:49
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:49
┌ Warning: `F[:S]` is deprecated, use `F.S` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:50
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:50
┌ Warning: `F[:S]` is deprecated, use `F.S` instead.
│   caller = ip:0x0
└ @ Core :-1
┌ Warning: `F[:S]` is deprecated, use `F.S` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:50
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:50
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:50
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:50
┌ Warning: `F[:V]` is deprecated, use `F.V` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:51
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:51
┌ Warning: `F[:V]` is deprecated, use `F.V` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:52
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:52
┌ Warning: `F[:U]` is deprecated, use `F.U` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:53
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:53
┌ Warning: `F[:U]` is deprecated, use `F.U` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:54
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:54
┌ Warning: `F[:S]` is deprecated, use `F.S` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:56
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:56
┌ Warning: `A_mul_Bt(A::AbstractMatrix{T}, B::AbstractMatrix{S}) where {T, S}` is deprecated, use `A * transpose(B)` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:61
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:61
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:63
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:63
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #lsq_classopath#2 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #lsq_classopath#2 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl
┌ Warning: `qrfact(A::AbstractMatrix{T}) where T` is deprecated, use `qr(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:66
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:66
┌ Warning: `F[:R]` is deprecated, use `F.R` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:66
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:66
┌ Warning: `At_mul_B(A::AbstractMatrix{T}, B::AbstractMatrix{S}) where {T, S}` is deprecated, use `transpose(A) * B` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:95
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:95
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #find_ρmax#3(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:713
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:713
┌ Warning: `x ^ p::Integer` is deprecated, use `Base.power_by_squaring(x, p)` instead.
│   caller = macro expansion at none:0 [inlined]
└ @ Core ./none:0
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:117
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:117
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:119
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:119
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:119
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:119
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:123
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:123
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:129
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:129
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:132
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:132
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:161
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:161
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:162
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:162
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:163
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:163
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:165
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:165
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:190
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:190
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:195
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:195
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:201
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:201
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:207
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:207
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:507
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:507
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:508
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:508
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:509
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:509
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:511
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:511
┌ Warning: `a::Number - b::AbstractArray` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:523
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:523
┌ Warning: `a::AbstractArray - b::Number` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:523
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:523
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:525
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:525
┌ Warning: `a::Number + b::AbstractArray` is deprecated, use `a .+ b` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:528
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:528
┌ Warning: `a::AbstractArray + b::Number` is deprecated, use `a .+ b` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:528
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:528
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:530
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:530
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:535
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:535
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:543
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:543
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:543
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:543
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:555
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:555
┌ Warning: `a::AbstractArray - b::Number` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:561
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:561
┌ Warning: `find(A::AbstractArray)` is deprecated, use `(LinearIndices(A))[findall(A)]` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:561
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:561
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:580
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:580
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:585
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:585
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:623
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:623
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:625
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:625
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::LinearAlgebra.Adjoint{Float64,Array{Float64,2}}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:645
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:645
┌ Warning: `At_mul_B(A::AbstractMatrix{T}, B::AbstractMatrix{S}) where {T, S}` is deprecated, use `transpose(A) * B` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:77
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:77
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:77
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:77
┌ Warning: `At_mul_B(A::AbstractMatrix{T}, B::AbstractMatrix{S}) where {T, S}` is deprecated, use `transpose(A) * B` instead.
│   caller = #genlasso#14(::Bool, ::Float64, ::Array{Float64,2}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,2}) at genlasso.jl:77
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/genlasso.jl:77
┌ Warning: `getindex(o::PyObject, s::AbstractString)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o."s"` instead of `o["s"]`.
│   caller = top-level scope at none:0
└ @ Core none:0
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:929
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:929
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:931
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:931
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:932
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:932
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:933
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:933
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:936
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:936
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:936
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:936
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = py_init_subplot(::Plots.Plot{Plots.PyPlotBackend}, ::Plots.Subplot{Plots.PyPlotBackend}) at pyplot.jl:402
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:402
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_add_series(::Plots.Plot{Plots.PyPlotBackend}, ::Plots.Series) at pyplot.jl:501
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:501
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:970
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:970
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:970
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:970
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:971
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:971
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:971
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:971
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:972
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:972
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:972
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:972
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:973
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:973
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:973
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:973
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1023
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1023
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1023
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1023
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1024
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1024
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1024
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1024
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1032
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1032
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1032
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1032
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1033
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1033
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1033
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1033
┌ Warning: `haskey(o::PyObject, s::Union{Symbol, AbstractString})` is deprecated, use `hasproperty(o, s)` instead.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1052
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1052
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1054
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1054
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = macro expansion at logging.jl:307 [inlined]
└ @ Core ./logging.jl:307
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_lims(::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:838
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:838
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_ticks(::PyCall.PyObject, ::Tuple{Array{Float64,1},Array{String,1}}, ::Symbol) at pyplot.jl:843
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:843
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_ticks(::PyCall.PyObject, ::Tuple{Array{Float64,1},Array{String,1}}, ::Symbol) at pyplot.jl:857
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:857
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_ticks(::PyCall.PyObject, ::Tuple{Array{Float64,1},Array{String,1}}, ::Symbol) at pyplot.jl:858
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:858
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1072
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1072
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1073
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1073
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1077
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1077
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1077
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1077
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1078
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1078
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1078
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1078
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1079
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1079
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1080
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1080
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1081
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1081
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1082
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1082
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1086
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1086
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1091
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1091
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:908
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:908
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:909
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:909
┌ Warning: `haskey(o::PyObject, s::Union{Symbol, AbstractString})` is deprecated, use `hasproperty(o, s)` instead.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:912
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:912
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:914
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:914
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:917
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:917
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:917
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:917
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_set_axis_colors(::Plots.Subplot{Plots.PyPlotBackend}, ::PyCall.PyObject, ::Plots.Axis) at pyplot.jl:917
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:917
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _before_layout_calcs(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1139
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1139
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = py_drawfig(::PyPlot.Figure) at pyplot.jl:317
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:317
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = py_canvas at pyplot.jl:311 [inlined]
└ @ Core /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:311
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_renderer(::PyPlot.Figure) at pyplot.jl:314
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:314
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox(::PyCall.PyObject) at pyplot.jl:326
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:326
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = py_extents(::PyPlot.Figure) at pyplot.jl:321
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:321
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_extents(::PyPlot.Figure) at pyplot.jl:321
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:321
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_extents(::PyCall.PyObject) at pyplot.jl:321
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:321
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_extents(::PyCall.PyObject) at pyplot.jl:321
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:321
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_ticks(::PyCall.PyObject, ::String) at pyplot.jl:342
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:342
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_axislabel(::PyCall.PyObject, ::String) at pyplot.jl:348
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:348
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_axislabel(::PyCall.PyObject, ::String) at pyplot.jl:348
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:348
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_title(::PyCall.PyObject) at pyplot.jl:364
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:364
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_title(::PyCall.PyObject) at pyplot.jl:364
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:364
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = py_bbox_title(::PyCall.PyObject) at pyplot.jl:364
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:364
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _update_plot_object(::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1294
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1294
Out[1]:
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _show(::Base64.Base64EncodePipe, ::MIME{Symbol("image/png")}, ::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1332
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1332
┌ Warning: `getindex(o::PyObject, s::Symbol)` is deprecated in favor of dot overloading (`getproperty`) so elements should now be accessed as e.g. `o.s` instead of `o[:s]`.
│   caller = _show(::Base64.Base64EncodePipe, ::MIME{Symbol("image/png")}, ::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1332
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1332
┌ Warning: `getindex(f::Figure, x)` is deprecated, use `getproperty(f, x)` instead.
│   caller = _show(::Base64.Base64EncodePipe, ::MIME{Symbol("image/png")}, ::Plots.Plot{Plots.PyPlotBackend}) at pyplot.jl:1332
└ @ Plots /Users/chenxiaoyu/.julia/packages/Plots/ex9On/src/backends/pyplot.jl:1332
In [2]:
yhat = X*β̂path
Out[2]:
990×989 Array{Float64,2}:
 -0.0178926  -0.0046696   0.118695    0.258754   …   0.333516     0.333644  
 -0.0178926  -0.0046696   0.118695    0.258754      -0.152548    -0.152803  
 -0.0178926  -0.0046696   0.118695    0.258754       0.101194     0.10145   
 -0.0178926  -0.0046696   0.118695    0.258754      -0.0339217   -0.0341772 
 -0.0178926  -0.0046696   0.118695    0.258754       0.34447      0.344726  
 -0.0178926  -0.0046696   0.118695    0.258754   …   0.151399     0.151143  
 -0.0178926  -0.0046696   0.118695    0.258754       0.798027     0.798283  
 -0.0178926  -0.0046696   0.118695    0.258754       0.282754     0.282754  
 -0.0178926  -0.0046696   0.118695    0.258754       0.116233     0.116233  
 -0.0178926  -0.0046696   0.118695    0.258754      -0.232173    -0.232173  
 -0.0178926  -0.0046696   0.118695    0.258754   …  -0.754287    -0.754542  
 -0.0178926  -0.0046696   0.118695    0.258754       1.06733      1.06759   
 -0.0178926  -0.0046696   0.118695    0.258754      -0.0171014   -0.0173569 
  ⋮                                              ⋱                          
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.170534    -0.17079   
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.162116    -0.161861  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215  …  -0.348696    -0.348952  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.00151764  -0.00126215
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.221131    -0.221386  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215      0.552504     0.55276   
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.603138    -0.603394  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215  …  -0.447907    -0.447907  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.31786     -0.317604  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.727912    -0.728167  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.505593    -0.505593  
 -0.0178926  -0.0212612  -0.0504995  -0.0838215     -0.147807    -0.147679  
In [14]:
plot(yhat[:,900])
Out[14]:
In [11]:
Pkg.add("DelimitedFiles")
  Updating registry at `~/.julia/registries/General`
WARNING: Base.Pkg is deprecated, run `using Pkg` instead
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
  Updating git-repo `https://github.com/JuliaRegistries/General.git`
 Resolving package versions...
  Updating `~/.julia/environments/v0.7/Project.toml`
  [8bb1440f] + DelimitedFiles 
  Updating `~/.julia/environments/v0.7/Manifest.toml`
 [no changes]
In [12]:
writedlm("CLasso_case_study.csv",yhat[:,25],',')
writedlm("y_case_study.csv",y,',')
WARNING: Base.writedlm is deprecated: it has been moved to the standard library package `DelimitedFiles`.
Add `using DelimitedFiles` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.writedlm is deprecated: it has been moved to the standard library package `DelimitedFiles`.
Add `using DelimitedFiles` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
In [15]:
writedlm("CLasso_case_study_best.csv",yhat[:,900],',')
WARNING: Base.writedlm is deprecated: it has been moved to the standard library package `DelimitedFiles`.
Add `using DelimitedFiles` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52

Simulation Study 1

In [35]:
n, p = 50, 100  
β = zeros(p)
β[1:round(Int, p / 4)] = 0
β[(round(Int, p / 4) + 1):round(Int, p / 2)] = 1
β[(round(Int, p / 2) + 1):round(Int, 3p / 4)] = 0
β[(round(Int, 3p / 4) + 1):p] = -1
srand(41)
X = randn(n, p)
y = X * β + randn(n)
beq = 0.0
Aeq = ones(1, p)
# path
t1 = time_ns()
β̂path1, ρpath1, objpath, = lsq_classopath(X, y; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[35]:3
└ @ Core In[35]:3
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[35]:4
└ @ Core In[35]:4
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[35]:5
└ @ Core In[35]:5
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[35]:6
└ @ Core In[35]:6
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[35]:7
└ @ Core In[35]:7
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Suboptimal; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
0.006214049200400801
0.174381746
0.017651979
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##19#20")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
0.175585361
0.019355384
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##21#22")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
In [36]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[36]:
5-element Array{Float64,1}:
 0.006214049200400801
 0.174381746         
 0.017651979         
 0.175585361         
 0.019355384         
In [37]:
n, p = 100, 500  
β = zeros(p)
β[1:round(Int, p / 4)] = 0
β[(round(Int, p / 4) + 1):round(Int, p / 2)] = 1
β[(round(Int, p / 2) + 1):round(Int, 3p / 4)] = 0
β[(round(Int, 3p / 4) + 1):p] = -1
srand(41)
X = randn(n, p)
y = X * β + randn(n)
beq = 0.0
Aeq = ones(1, p)
# path
t1 = time_ns()
β̂path1, ρpath1, objpath, = lsq_classopath(X, y; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x )
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[37]:3
└ @ Core In[37]:3
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[37]:4
└ @ Core In[37]:4
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[37]:5
└ @ Core In[37]:5
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[37]:6
└ @ Core In[37]:6
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[37]:7
└ @ Core In[37]:7
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Suboptimal; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
0.007185111885954382
0.214289846
0.
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##23#24")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
328400898
0.199352891
0.
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##25#26")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
408757876
In [38]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[38]:
5-element Array{Float64,1}:
 0.007185111885954382
 0.214289846         
 0.328400898         
 0.199352891         
 0.408757876         
In [39]:
n, p = 500, 1000  
β = zeros(p)
β[1:round(Int, p / 4)] = 0
β[(round(Int, p / 4) + 1):round(Int, p / 2)] = 1
β[(round(Int, p / 2) + 1):round(Int, 3p / 4)] = 0
β[(round(Int, 3p / 4) + 1):p] = -1
srand(41)
X = randn(n, p)
y = X * β + randn(n)
beq = 0.0
Aeq = ones(1, p)
# path
t1 = time_ns()
β̂path1, ρpath1, objpath, = lsq_classopath(X, y; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[39]:3
└ @ Core In[39]:3
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[39]:4
└ @ Core In[39]:4
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[39]:5
└ @ Core In[39]:5
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[39]:6
└ @ Core In[39]:6
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[39]:7
└ @ Core In[39]:7
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Suboptimal; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
32.62648105621212
0.29029794
14
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##27#28")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.097173031
0.249413825
17
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##29#30")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.102890852
In [40]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[40]:
5-element Array{Float64,1}:
 32.62648105621212
  0.29029794      
 14.097173031     
  0.249413825     
 17.102890852     
In [44]:
n, p = 1000, 2000  
β = zeros(p)
β[1:round(Int, p / 4)] = 0
β[(round(Int, p / 4) + 1):round(Int, p / 2)] = 1
β[(round(Int, p / 2) + 1):round(Int, 3p / 4)] = 0
β[(round(Int, 3p / 4) + 1):p] = -1
srand(41)
X = randn(n, p)
y = X * β + randn(n)
beq = 0.0
Aeq = ones(1, p)
# path
t1 = time_ns()
β̂path1, ρpath1, objpath, = lsq_classopath(X, y; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aeq = Aeq, beq = beq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[44]:3
└ @ Core In[44]:3
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[44]:4
└ @ Core In[44]:4
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[44]:5
└ @ Core In[44]:5
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = top-level scope at In[44]:6
└ @ Core In[44]:6
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[44]:7
└ @ Core In[44]:7
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Error; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
11.262168556
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
0.56436905
37
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##35#36")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.967742192
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
0.417562727
43
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##37#38")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.608513339
In [45]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[45]:
5-element Array{Float64,1}:
 11.262168556
  0.56436905 
 37.967742192
  0.417562727
 43.608513339

Simulation Study 2

In [46]:
n, p = 50, 100   
β = zeros(p)
β[1:10] = 1:10
srand(41)
X = randn(n, p)
y = X * β + randn(n)
bineq = zeros(p)
Aineq = - eye(p)

t1 = time_ns()
β̂path1, ρpath1, = lsq_classopath(X, y; Aineq = Aineq, bineq = bineq)
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[46]:4
└ @ Core In[46]:4
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[46]:8
└ @ Core In[46]:8
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.pinv is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.rank is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #lsq_classopath#2 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl
WARNING: Base.qrfact is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
in #lsq_classopath#2 at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:61
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:61
┌ Warning: `At_mul_B(A::AbstractMatrix{T}, B::AbstractMatrix{S}) where {T, S}` is deprecated, use `transpose(A) * B` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:95
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:95
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #find_ρmax#3(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:710
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:710
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #find_ρmax#3(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:713
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:713
┌ Warning: Problem status Suboptimal; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:117
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:117
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:119
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:119
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:119
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:119
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:123
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:123
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:129
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:129
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:132
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:132
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:161
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:161
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:162
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:162
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:163
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:163
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:165
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:165
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:190
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:190
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:195
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:195
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:201
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:201
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:207
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:207
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:507
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:507
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:508
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:508
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:509
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:509
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:511
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:511
┌ Warning: `a::Number - b::AbstractArray` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:523
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:523
┌ Warning: `a::AbstractArray - b::Number` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:523
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:523
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:525
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:525
┌ Warning: `a::Number + b::AbstractArray` is deprecated, use `a .+ b` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:528
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:528
┌ Warning: `a::AbstractArray + b::Number` is deprecated, use `a .+ b` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:528
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:528
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:530
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:530
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:535
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:535
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:543
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:543
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:543
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:543
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:555
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:555
┌ Warning: `a::AbstractArray - b::Number` is deprecated, use `a .- b` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:561
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:561
┌ Warning: `find(A::AbstractArray)` is deprecated, use `(LinearIndices(A))[findall(A)]` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:561
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:561
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:580
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:580
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:585
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:585
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:623
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:623
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:625
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:625
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:645
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:645
0.04697909906206206
0.164473884
0.
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##39#40")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
102387176
0.157340858
0.016161071
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##41#42")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
In [47]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[47]:
5-element Array{Float64,1}:
 0.04697909906206206
 0.164473884        
 0.102387176        
 0.157340858        
 0.016161071        
In [55]:
n, p = 100, 500   
β = zeros(p)
β[1:10] = 1:10
srand(41)
X = randn(n, p)
y = X * β + randn(n)
bineq = zeros(p)
Aineq = - eye(p)

t1 = time_ns()
β̂path1, ρpath1, = lsq_classopath(X, y; Aineq = Aineq, bineq = bineq)
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[55]:4
└ @ Core In[55]:4
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[55]:8
└ @ Core In[55]:8
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Suboptimal; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
LinearAlgebra.LAPACKException(1)

Stacktrace:
 [1] chklapackerror at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/lapack.jl:38 [inlined]
 [2] gesdd!(::Char, ::Array{Float64,2}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/lapack.jl:1602
 [3] #svd!#60(::Bool, ::Nothing, ::Function, ::Array{Float64,2}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/svd.jl:70
 [4] #svd! at ./none:0 [inlined]
 [5] #svd#61(::Bool, ::Nothing, ::Function, ::Array{Float64,2}) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/svd.jl:120
 [6] #svd at ./none:0 [inlined]
 [7] pinv(::Array{Float64,2}, ::Float64) at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/dense.jl:1286
 [8] pinv at /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/LinearAlgebra/src/dense.jl:1296 [inlined]
 [9] #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:175
 [10] (::getfield(ConstrainedLasso, Symbol("#kw##lsq_classopath")))(::NamedTuple{(:Aineq, :bineq),Tuple{Array{Float64,2},Array{Float64,1}}}, ::typeof(lsq_classopath), ::Array{Float64,2}, ::Array{Float64,1}) at ./none:0
 [11] top-level scope at In[55]:11
In [ ]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
In [50]:
n, p = 500, 1000   
β = zeros(p)
β[1:10] = 1:10
srand(41)
X = randn(n, p)
y = X * β + randn(n)
bineq = zeros(p)
Aineq = - eye(p)

t1 = time_ns()
β̂path1, ρpath1, = lsq_classopath(X, y; Aineq = Aineq, bineq = bineq)
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[50]:4
└ @ Core In[50]:4
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[50]:8
└ @ Core In[50]:8
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Error; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:294
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:294
┌ Warning: using `A[I...] = x` to implicitly broadcast `x` across many locations is deprecated. Use `A[I...] .= x` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:298
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:298
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:300
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:300
┌ Warning: `countnz(x)` is deprecated, use either `count(!iszero, x)` or `count(t -> t != 0, x)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:302
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:302
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:307
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:307
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:308
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:308
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:309
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:309
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:310
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:310
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:331
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:331
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:337
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:337
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:343
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:343
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:468
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:468
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:469
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:469
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:470
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:470
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:474
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:474
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:479
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:479
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:485
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:485
┌ Warning: `find(A::AbstractVector)` is deprecated, use `findall(A)` instead.
│   caller = #lsq_classopath#2(::Array{Float64,2}, ::Array{Float64,1}, ::Array{Float64,2}, ::Array{Float64,1}, ::Float64, ::Array{Bool,1}, ::ECOS.ECOSSolver, ::Function, ::Array{Float64,2}, ::Array{Float64,1}) at classopath.jl:491
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/classopath.jl:491
0.34714317083048307
0.294408804
17
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##43#44")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.105066204
0.226181637
18
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##45#46")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.242251136
In [51]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[51]:
5-element Array{Float64,1}:
  0.34714317083048307
  0.294408804        
 17.105066204        
  0.226181637        
 18.242251136        
In [53]:
n, p = 1000, 2000   
β = zeros(p)
β[1:10] = 1:10
srand(41)
X = randn(n, p)
y = X * β + randn(n)
bineq = zeros(p)
Aineq = - eye(p)

t1 = time_ns()
β̂path1, ρpath1, = lsq_classopath(X, y; Aineq = Aineq, bineq = bineq)
t2 = time_ns()
elaps_path = (t2-t1)/1e9/length(ρpath1)
println(elaps_path)

ρ = 2.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm2 = (t2-t1)/1e9
println(elaps_admm2)

ρ = 2.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP2 = (t2-t1)/1e9
println(elaps_QP2)

ρ = 6.0
t1 = time_ns()
β̂admm = lsq_constrsparsereg_admm(X, y, ρ; proj = x -> x)
t2 = time_ns()
elaps_admm6 = (t2-t1)/1e9
println(elaps_admm6)

ρ = 6.0
t1 = time_ns()
β̂, = lsq_constrsparsereg(X, y, ρ; Aineq = Aineq, bineq = bineq);
t2 = time_ns()
elaps_QP6 = (t2-t1)/1e9
println(elaps_QP6)
WARNING: Base.srand is deprecated: it has been moved to the standard library package `Random`.
Add `using Random` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `srand` is deprecated, use `Random.seed!` instead.
│   caller = top-level scope at In[53]:4
└ @ Core In[53]:4
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = top-level scope at In[53]:8
└ @ Core In[53]:8
WARNING: Adding a small ridge penalty (default is 1e-4) since n < p
WARNING: ρridge must be positive, switching to default value (1e-4)
┌ Warning: Problem status Error; solution may be inaccurate.
└ @ Convex /Users/chenxiaoyu/.julia/packages/Convex/5MYbL/src/solution.jl:48
17.091457641
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
0.440214884
159
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##47#48")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.14850592
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
WARNING: Base.eye is deprecated: it has been moved to the standard library package `LinearAlgebra`.
Add `using LinearAlgebra` to your imports.
  likely near /Users/chenxiaoyu/.julia/packages/IJulia/F1GUo/src/kernel.jl:52
┌ Warning: `eye(m::Integer)` has been deprecated in favor of `I` and `Matrix` constructors. For a direct replacement, consider `Matrix(1.0I, m, m)` or `Matrix{Float64}(I, m, m)`. If `Float64` element type is not necessary, consider the shorter `Matrix(I, m, m)` (with default `eltype(I)` `Bool`).
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:65
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:65
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:84
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:84
0.622834834
151
┌ Warning: `copy!(dst::AbstractArray, src::AbstractArray)` is deprecated. You can either use `copyto!(dst, src)` or `Future.copy!(dst, src)` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:87
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:87
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
┌ Warning: `vecnorm` is deprecated, use `norm` instead.
│   caller = #lsq_constrsparsereg_admm#4(::getfield(Main, Symbol("##49#50")), ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Int64, ::Float64, ::Float64, ::Float64, ::Bool, ::typeof(lsq_constrsparsereg_admm), ::Array{Float64,2}, ::Array{Float64,1}, ::Float64) at constrsparsereg_admm.jl:100
└ @ ConstrainedLasso /Users/chenxiaoyu/.julia/dev/ConstrainedLasso/src/constrsparsereg_admm.jl:100
.382838973
In [54]:
[elaps_path,elaps_admm2,elaps_QP2,elaps_admm6,elaps_QP6]
Out[54]:
5-element Array{Float64,1}:
  17.091457641
   0.440214884
 159.14850592 
   0.622834834
 151.382838973
In [ ]: